#!/bin/bash

# 文档备份系统启动脚本

# 颜色定义
RED='\033[0;31m'
GREEN='\033[0;32m'
YELLOW='\033[0;33m'
BLUE='\033[0;34m'
NC='\033[0m' # 无颜色

# 检查是否在虚拟环境中
if [[ -z "$VIRTUAL_ENV" ]]; then
    echo -e "${YELLOW}警告: 未激活虚拟环境。正在尝试激活...${NC}"
    
    # 尝试激活venv虚拟环境
    if [[ -d "backend/venv" ]]; then
        source backend/venv/bin/activate
        echo -e "${GREEN}venv虚拟环境已激活${NC}"
    # 尝试激活virtualenv虚拟环境
    elif [[ -d "backend/venv_virtualenv" ]]; then
        source backend/venv_virtualenv/bin/activate
        echo -e "${GREEN}virtualenv虚拟环境已激活${NC}"
    else
        echo -e "${RED}错误: 未找到虚拟环境。请先创建虚拟环境并安装依赖。${NC}"
        echo -e "${BLUE}创建虚拟环境指南:${NC}"
        echo -e "  1. 使用venv (推荐): python3 -m venv backend/venv"
        echo -e "  2. 使用virtualenv: virtualenv backend/venv_virtualenv"
        exit 1
    fi
fi

# 检查.env文件是否存在
if [[ ! -f "backend/.env" ]]; then
    echo -e "${YELLOW}警告: 未找到.env文件。正在使用默认配置...${NC}"
else
    echo -e "${GREEN}已加载.env文件${NC}"
    # 加载.env文件中的环境变量
    export $(grep -v '^#' backend/.env | xargs)
fi

# 启动应用
cd backend

# 检查是否安装了gunicorn
if command -v gunicorn &> /dev/null; then
    echo -e "${BLUE}使用gunicorn启动应用...${NC}"
    gunicorn --workers 3 --bind 0.0.0.0:5000 run:app
else
    echo -e "${YELLOW}警告: 未找到gunicorn。使用flask开发服务器启动...${NC}"
    export FLASK_APP=run.py
    flask run --host=0.0.0.0 --port=5000
fi